package br.com.esporte.apresentacao.grupoEsporteGrupo;

import java.util.ArrayList;
import java.util.List;

import org.apache.wicket.markup.html.link.Link;

import br.com.esporte.apresentacao.grupoEsporteGrupo.diaPraticado.cadastro.PaginaCadastroDiaPraticadoGrupo;
import br.com.esporte.apresentacao.grupoEsporteGrupo.diaPraticado.consulta.PaginaConsultaDiaPraticadoGrupo;
import br.com.esporte.apresentacao.infra.componente.menu.MenuComponente;
import br.com.esporte.apresentacao.infra.componente.menu.MenuEnum;
import br.com.esporte.apresentacao.infra.componente.menu.MenuPagina;
import br.com.esporte.apresentacao.infra.generic.Pagina;
import br.com.esporte.apresentacao.infra.template.PaginaTemplateGrupo;
import br.com.esporte.apresentacao.regra.cadastro.PaginaCadastroRegras;
import br.com.esporte.apresentacao.regra.consulta.PaginaConsultaRegras;
import br.com.esporte.negocios.entidade.imp.DiaPraticadoGrupo;
import br.com.esporte.negocios.entidade.imp.GrupoEsporteGrupo;
import br.com.esporte.negocios.entidade.imp.Regra;
import br.com.esporte.repositorio.filtro.imp.FiltroDiaPraticadoGrupo;
import br.com.esporte.repositorio.filtro.imp.FiltroRegra;

/**
 * 
 * @author Milton Domingues
 * 
 */
public class PaginaGrupoEsporteGrupo extends PaginaTemplateGrupo<GrupoEsporteGrupo>{

	public PaginaGrupoEsporteGrupo(GrupoEsporteGrupo grupo, Pagina paginaRetorno, MenuEnum menu) {
		super(grupo, paginaRetorno, menu);
		this.montarPagina();
	}

	@Override
	public List<MenuPagina> getListaMenuPagina() {
		List<MenuPagina> menus = new ArrayList<MenuPagina>();
		Link<Pagina> link1 = new Link<Pagina>(MenuComponente.MENU_ID) {
			private static final long serialVersionUID = 1L;
			@Override
			public void onClick() {
				this.setResponsePage(PaginaGrupoEsporteGrupo.this.getPaginaRetorno());
			}
		};
		menus.add(new MenuPagina(link1, this.getMenuHome()));

		Link<Pagina> link3 = new Link<Pagina>(MenuComponente.MENU_ID) {
			private static final long serialVersionUID = 1L;
			@Override
			public void onClick() {
				this.setResponsePage(new PaginaConsultaRegras(new FiltroRegra(), PaginaGrupoEsporteGrupo.this.getGrupo(), PaginaGrupoEsporteGrupo.this, PaginaGrupoEsporteGrupo.this.getMenuHome()));
			}
		};
		menus.add(new MenuPagina(link3, MenuEnum.VISUALIZAR_REGRAS));

		Link<Pagina> link4 = new Link<Pagina>(MenuComponente.MENU_ID) {
			private static final long serialVersionUID = 1L;
			@Override
			public void onClick() {
				this.setResponsePage(new PaginaCadastroRegras(new Regra(), PaginaGrupoEsporteGrupo.this.getGrupo(), PaginaGrupoEsporteGrupo.this, PaginaGrupoEsporteGrupo.this.getMenuHome()));
			}
		};
		menus.add(new MenuPagina(link4, MenuEnum.EDITAR_REGRAS));

		Link<Pagina> link5 = new Link<Pagina>(MenuComponente.MENU_ID) {
			private static final long serialVersionUID = 1L;
			@Override
			public void onClick() {
				this.setResponsePage(new PaginaCadastroDiaPraticadoGrupo(new DiaPraticadoGrupo(), PaginaGrupoEsporteGrupo.this.getGrupo(), PaginaGrupoEsporteGrupo.this, PaginaGrupoEsporteGrupo.this.getMenuHome()));
			}
		};
		menus.add(new MenuPagina(link5, MenuEnum.DIA_PRATICADO));

		Link<Pagina> link6 = new Link<Pagina>(MenuComponente.MENU_ID) {
			private static final long serialVersionUID = 1L;
			@Override
			public void onClick() {
				FiltroDiaPraticadoGrupo filtro = new FiltroDiaPraticadoGrupo();
				filtro.addEquals(FiltroDiaPraticadoGrupo.GRUPO, PaginaGrupoEsporteGrupo.this.getGrupo());
				this.setResponsePage(new PaginaConsultaDiaPraticadoGrupo(filtro, PaginaGrupoEsporteGrupo.this.getGrupo(), PaginaGrupoEsporteGrupo.this, PaginaGrupoEsporteGrupo.this.getMenuHome()));
			}
		};
		menus.add(new MenuPagina(link6, MenuEnum.DIA_PRATICADO_GRUPO));


		return menus;
	}
}
